package adminmodels

import models "github.com/ikaiguang/srv_admin/internal/model"

// Admins : ENGINE InnoDB default charset utf8mb4 comment '管理员表'
type Admins struct {
	Id           int64  `gorm:"primary_key;column:id" json:"id"`           // 管理员id
	Username     string `gorm:"column:username" json:"username"`           // 用户名
	Nickname     string `gorm:"column:nickname" json:"nickname"`           // 昵称
	Phone        string `gorm:"column:phone" json:"phone"`                 // 手机号码
	Password     string `gorm:"column:password" json:"password"`           // 密码
	ActiveStatus int32  `gorm:"column:active_status" json:"active_status"` // 激活状态；0：未激活；1：已激活；2：已禁用
	CUid         int64  `gorm:"column:c_uid" json:"c_uid"`                 // 创建用户
	CTime        int64  `gorm:"column:c_time" json:"c_time"`               // 创建时间
	IsDel        int32  `gorm:"column:is_del" json:"is_del"`               // 软删除
	DUid         int64  `gorm:"column:d_uid" json:"d_uid"`                 // 删除用户
	DTime        int64  `gorm:"column:d_time" json:"d_time"`               // 删除时间
	MTime        int64  `gorm:"column:m_time" json:"m_time"`               // 更新时间
}

// const
const (
	// active_status 0：未激活；1：已激活；2：已禁用
	AdminActiveStatusInit    = 0
	AdminActiveStatusActive  = 1
	AdminActiveStatusInvalid = 2
)

// TableName : table name
func (m *Admins) TableName() string {
	return models.TablePrefix + "admins"
}

// admins Admins
type admins struct {
	Admins
}

// AdminsModel admins
var AdminsModel = new(admins)

// New : new data model
func (m *admins) New() *Admins {
	return new(Admins)
}

// New : new data model
func (m *admins) DTime() *Admins {
	return new(Admins)
}
